package com.lanou3g.controller;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/*
小结:
*****高级上传:*****
(1)跨服务器上传图片,jersy
(2)页面不刷新,ajax
(3)图片及时回显,<img src=""/>
1.导入上传文件及jersy的相关依赖
2.配置相关文件
3.高级上传的两种方式:
(1)使用的是tomcat文件夹里的bin文件中的startup.bat文件
(2)通过建立两个不同版本的tomcat实现
在使用另一个tomcat时,需要配置其一些信息,
在其文件的conf文件下的server.xml里改三个端口号
在其文件的conf文件下的web.xml里加一些信息,使这个服务器能被上传
4.上传图片的知识点,在下面已经详细写
 */

@Controller
public class UploadController {
    @RequestMapping("/upload")
    public void upload(@RequestParam("img") CommonsMultipartFile file, HttpServletResponse response) throws IOException {
        System.out.println(file.getSize());
        Client client = Client.create();//获取client(客户端)对象,为了把图片上传到别的服务器
        String imgPath = "http://127.0.0.1:8088/img/2.jpg";
        WebResource resource = client.resource(imgPath);
        //连接资源的过程,获取一个网络的真实路径,能把图片上传上去(通过客户端对象,连接到这个远程资源)
        resource.put(file.getInputStream());//把资源传到你所写的地址上
        response.getWriter().print(imgPath);
    }
}
